1. Field of the Invention
The present invention relates to a technology for, in a semiconductor integrated circuit including decentralized buses, adjusting transmission scheduling of a plurality of traffics flowing between a plurality of relay devices for connecting the buses.
2. Description of the Related Art
FIG. 1A shows an example of control made on centralized buses. In a conventional integrated circuit for performing control on centralized buses, each of a plurality of bus masters and a memory are connected to each other mainly by one bus, and an arbiter arbitrates an access from each bus master to the memory. However, integrated circuits now have improved functions and multiple cores, and so the scale of the circuits is enlarged and traffics flow on the buses while changing in a complicated manner. For these reasons, it has become difficult to design an integrated circuit in which centralized buses are controlled.
In the meantime, development of integrated circuits having decentralized buses have progressed through incorporation of connection technologies by parallel computers and technologies of network control. FIG. 1B shows an example of control made on decentralized buses. A semiconductor integrated circuit having decentralized buses includes a plurality of relay devices which are connected to each other via a plurality of buses. Recently, it has been attempted to use the decentralized buses as shown in FIG. 1A to provide a network on chip for transmitting traffics in a large scale integrated circuit while decentralizing the traffics into a plurality of buses.
However, such decentralized buses do not allow transmission scheduling to be arbitrated among bus masters which are separated from each other by the relay devices.
Therefore, interference occurs when a certain number of traffics join together at a relay device or when the flow rate of the traffics changes. As a result, the transmission quality is lowered; for example, the delay time or jitter is increased or the throughput is decreased.
According to a conventionally known technology for avoiding the reduction of the transmission quality of the traffics flowing in decentralized buses, the transmission scheduling of each traffic is adjusted by the relay devices, so that the interference among the traffics at the relay devices is suppressed (see, for example, Japanese Laid-Open Patent Publication No. 2008-541647).
FIG. 2 shows a structure of the conventional relay devices for controlling the transmission scheduling and transmission routes of traffics A through C described in Japanese Laid-Open Patent Publication No. 2008-541647. The traffic A is transmitted from a bus master A to a memory D via a relay device E and a relay device F. The traffic B is transmitted from a bus master B to the memory D via the relay device E and the relay device F. The traffic C is transmitted from a bus master C to the memory D via the relay device F.
The relay devices shown in FIG. 2 each include a plurality of transmission buffers. Data packets transmitted from the bus masters A through C are each provided with information which specifies of which traffic the data packet is.
Upon receiving a data packet, each relay device classifies the data packet by traffic and stores the data packet in a buffer for the corresponding traffic. The relay device transmits the data packets in each buffer to the next relay device such that the transmission quality (delay time and throughput) is equal among the traffics. This processing is referred to as the “scheduling adjustment processing”.
In the example of FIG. 2, the relay device E, at which the traffic A and the traffic B join together, adjusts the transmission scheduling such that the band is assigned to the traffic A and the traffic B equally, namely, 50% of the band is assigned to each of the traffics A and B, before relaying the traffics to the relay device F. Similarly, the relay device F, at which the traffic A, the traffic B and the traffic C join together, adjusts the transmission scheduling such that 33% of the band is assigned to each of the traffics.
In this manner, the transmission band is assigned equally to each of the traffics transmitted from the three bus masters to the memory D. Therefore, the reduction of the transmission performance due to the interference among the traffics can be suppressed.
In a conventional relay device, each relay device adjusts the transmitter scheduling based only on the states of the traffics passing the relay device, and thus controls the traffics such that the transmitter performance is equal locally. In other words, each relay device adjusts the transmission scheduling independently and selfishly. With such control, when traffics flowing in the circuit have certain conditions, for example, when a traffic has a higher priority degree than other traffics, competition is caused among the traffics by the adjustment of transmission scheduling performed by each relay device. This may rather decrease, than increase, the transmission performance (delay time and throughput) of the entire circuit.
Hereinafter, this problem will be described more specifically.
FIG. 3 shows the traffics A through C when competition occurs among the traffics.
In FIG. 3, the bus master A transmits the traffic A to a memory G via the relay device E and the relay device F. The bus master B transmits the traffic B to the memory D via the relay device E and the relay device F. The bus master C transmits the traffic C to the memory D via the relay device F.
Also in FIG. 3, it is assumed that the traffic C is transmitted at the time of emergency and so has a relatively high priority degree. The relay device F assigns the entire transmission band (100%) of the bus to the memory D to the traffic C with priority. As a result, no band of the bus to the memory D is assigned to the traffic B.
When each of the relay device E and the relay device F adjusts the transmission scheduling in a conventional manner, namely, based only on the states of traffics passing the respective relay device, the relay device E assigns 50% of the transmission band equally to each of the traffic A and the traffic B although the traffic F, to which the traffic B is to be transmitted, assigns no band of the bus to the traffic B. This means that from the viewpoint of the entire circuit, the transmission scheduling control performed by the relay device E rather decreases, than increases, the utilization efficiency of the bus from the relay device E to the relay device F.